<?
// -----------------------------------------------------------------------------
// Распределитель заказов запускается по cron раз в 10 мин
// -----------------------------------------------------------------------------
// 1. Получает последние 30 новых заказов c непроставленным менеджером 
//    отсортированных по дате создания по убыванию
// 2. Получает список всех менеджеров
// 3. Для каждого менеджера
// 	3.1 Получает количество заказов за последние 5 дней и проставляет это чисто 
//      в managers.count_orders
// 4. Получает список всех менеджеров не админов в порядке количества заказов
// 5. Для каждого менеджера
// 	5.1 Получает количество новых заказов у данного менеджера
// 	5.2 Если оно меньше 10 берем очередной заказ из последних 30 (1)
// -----------------------------------------------------------------------------

header('Content-type: text/html;charset=utf-8');
include('../db_info.php');
include('../funcs.php');

//GET MANAGER_ROW

$sql="select * from orders where 1 and status=1 and manager_id=0 order by create_time desc limit 0,30 ";
$orders_r = queryWithExit($GLOBALS['mysqli_conn1'],$sql);

//update count orders
$sql = "select * from managers where 1";
$managers_r = queryWithExit($GLOBALS['mysqli_conn1'],$sql);

while($manager = mysqli_fetch_array($managers_r))
{
	$sql           = "select count(id) as kol from orders where create_time>".(time()-60*60*24*5)." and manager_id=".$manager['id']." ";
	$order_count_r = queryWithExit($GLOBALS['mysqli_conn1'],$sql);
	$order_count   = mysqli_fetch_array($order_count_r);
	$order_count   = (int)$order_count['kol'];
	
	$sql="update managers set count_orders=".$order_count." where id=".$manager['id']." ";
	queryWithExit($GLOBALS['mysqli_conn1'],$sql);
};

$sql="select * from managers where admin=0 order by count_orders,rand()";
$managers_r = queryWithExit($GLOBALS['mysqli_conn1'],$sql);

while($manager = mysqli_fetch_array($managers_r))
{
	//print_r($manager);
	$sql = "select count(order_id) as kol from orders where manager_id=".$manager["id"]." and status=1";
	$order_count_r = queryWithExit($GLOBALS['mysqli_conn1'],$sql);
	$order_count   = mysqli_fetch_array($order_count_r);
	$order_count   = (int)$order_count['kol'];

	if ($order_count < 10)
	{
		if(!$orders_row = mysqli_fetch_array($orders_r))
			exit();
		
		echo "<br>manager (id=".$manager['id'].") get order(id=".$orders_row['order_id'].")";
		
		//$upd_sql="update orders set manager_id=17 where order_id=".$orders_row['order_id']." ";
		$sql = "update orders set manager_id = ".$manager['id']." where order_id=".$orders_row['order_id']." ";
		queryWithExit($GLOBALS['mysqli_conn1'],$sql);
	};
};

?>
